package com.ims.core.doc.domain;

import java.math.BigDecimal;
import com.ims.common.annotation.Excel;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 抵扣统计明细对象 t_in_deduction_stat_entry
 *
 * @author IMS
 * @date 2024-12-11
 */
public class TInDeductionStatEntry extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 抵扣明细ID */
    @Excel(name = "抵扣明细ID")
    private String entryId;

    /** 统计表ID */
    @Excel(name = "统计表ID")
    private String statId;

    /** 客户ID */
    @Excel(name = "客户ID")
    private String custId;

    /** 客户公司代码 */
    @Excel(name = "客户公司代码")
    private String siteCode;

    /** 客户公司 */
    @Excel(name = "客户公司")
    private String siteName;

    /** 发票类型代码 */
    @Excel(name = "发票类型代码")
    private String invoiceType;

    /** 发票类型 */
    @Excel(name = "发票类型")
    private String invoiceTypeName;

    /** 抵扣发票份数 */
    @Excel(name = "抵扣发票份数")
    private Integer invoiceCount;

    /** 抵扣总金额 */
    @Excel(name = "抵扣总金额")
    private BigDecimal invoiceAccount;

    /** 抵扣总可抵扣税额 */
    @Excel(name = "抵扣总可抵扣税额")
    private BigDecimal invoiceTaxEffective;

    /** 不抵扣发票份数 */
    @Excel(name = "不抵扣发票份数")
    private Integer invoiceCountNondeductible;

    /** 不抵扣总金额 */
    @Excel(name = "不抵扣总金额")
    private BigDecimal invoiceAccountNondeductible;

    /** 不抵扣总可抵扣税额 */
    @Excel(name = "不抵扣总可抵扣税额")
    private BigDecimal invoiceTaxEffectiveNondeductible;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setEntryId(String entryId)
    {
        this.entryId = entryId;
    }

    public String getEntryId()
    {
        return entryId;
    }
    public void setStatId(String statId)
    {
        this.statId = statId;
    }

    public String getStatId()
    {
        return statId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }

    public void setInvoiceTypeName(String invoiceTypeName)
    {
        this.invoiceTypeName = invoiceTypeName;
    }

    public String getInvoiceTypeName()
    {
        return invoiceTypeName;
    }
    public void setInvoiceCount(Integer invoiceCount)
    {
        this.invoiceCount = invoiceCount;
    }

    public Integer getInvoiceCount()
    {
        return invoiceCount;
    }
    public void setInvoiceAccount(BigDecimal invoiceAccount)
    {
        this.invoiceAccount = invoiceAccount;
    }

    public BigDecimal getInvoiceAccount()
    {
        return invoiceAccount;
    }
    public void setInvoiceTaxEffective(BigDecimal invoiceTaxEffective)
    {
        this.invoiceTaxEffective = invoiceTaxEffective;
    }

    public BigDecimal getInvoiceTaxEffective()
    {
        return invoiceTaxEffective;
    }
    public void setInvoiceCountNondeductible(Integer invoiceCountNondeductible)
    {
        this.invoiceCountNondeductible = invoiceCountNondeductible;
    }

    public Integer getInvoiceCountNondeductible()
    {
        return invoiceCountNondeductible;
    }
    public void setInvoiceAccountNondeductible(BigDecimal invoiceAccountNondeductible)
    {
        this.invoiceAccountNondeductible = invoiceAccountNondeductible;
    }

    public BigDecimal getInvoiceAccountNondeductible()
    {
        return invoiceAccountNondeductible;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public BigDecimal getInvoiceTaxEffectiveNondeductible() {
        return invoiceTaxEffectiveNondeductible;
    }

    public void setInvoiceTaxEffectiveNondeductible(BigDecimal invoiceTaxEffectiveNondeductible) {
        this.invoiceTaxEffectiveNondeductible = invoiceTaxEffectiveNondeductible;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("entryId", getEntryId())
            .append("statId", getStatId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("invoiceType", getInvoiceType())
            .append("invoiceTypeName", getInvoiceTypeName())
            .append("invoiceCount", getInvoiceCount())
            .append("invoiceAccount", getInvoiceAccount())
            .append("invoiceTaxEffective", getInvoiceTaxEffective())
            .append("invoiceCountNondeductible", getInvoiceCountNondeductible())
            .append("invoiceAccountNondeductible", getInvoiceAccountNondeductible())
            .append("invoiceTaxEffectiveNondeductible", getInvoiceTaxEffectiveNondeductible())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
